package com.example.baseapp.entry;

import com.google.gson.annotations.SerializedName;

import java.util.List;

public class ThreeLayerBean {

    /**
     * materialId : 03e1d566f84e4e328f7d833c8c6255bd
     * classPracticeList : []
     * lastVisit : 950727838fe9455f8adc5622a1a323b7
     * tripleLevelKnowledgeList : [{"knowledgeId":"21c2556c1281446fb69c008fcfc066a6","knowledgeName":"1.1 探索勾股定理","knowledgeShowOrder":21,"videoInfoList":null,"doubleLevelKnowledgeList":[{"knowledgeId":"7528a59b8aee44e087e90f1edffa5658","knowledgeName":"第1课时 勾股定理","knowledgeShowOrder":22,"syncClass":[{"id":"1cf82d9a20b443ceaef50fd49d982ae5","name":"勾股定理及其验证","type":"1"},{"id":"82cc69c53f874017a29c692633933f89","name":"勾股定理","type":"2"}],"goodClass":[{"id":"950727838fe9455f8adc5622a1a323b7","name":"勾股定理的验证","type":"2"}]}]}]
     * isShowTab : 0
     * isJoinClass : 0
     * joinedClassPracticeList : null
     * ebookDownloadUrl : null
     */

    @SerializedName("materialId")
    private String materialId;
    @SerializedName("classPracticeList")
    private List<?> classPracticeList;
    @SerializedName("lastVisit")
    private String lastVisit;
    @SerializedName("tripleLevelKnowledgeList")
    private List<TripleLevelKnowledgeListDTO> tripleLevelKnowledgeList;
    @SerializedName("isShowTab")
    private String isShowTab;
    @SerializedName("isJoinClass")
    private String isJoinClass;
    @SerializedName("joinedClassPracticeList")
    private Object joinedClassPracticeList;
    @SerializedName("ebookDownloadUrl")
    private Object ebookDownloadUrl;

    public String getMaterialId() {
        return materialId;
    }

    public void setMaterialId(String materialId) {
        this.materialId = materialId;
    }

    public List<?> getClassPracticeList() {
        return classPracticeList;
    }

    public void setClassPracticeList(List<?> classPracticeList) {
        this.classPracticeList = classPracticeList;
    }

    public String getLastVisit() {
        return lastVisit;
    }

    public void setLastVisit(String lastVisit) {
        this.lastVisit = lastVisit;
    }

    public List<TripleLevelKnowledgeListDTO> getTripleLevelKnowledgeList() {
        return tripleLevelKnowledgeList;
    }

    public void setTripleLevelKnowledgeList(List<TripleLevelKnowledgeListDTO> tripleLevelKnowledgeList) {
        this.tripleLevelKnowledgeList = tripleLevelKnowledgeList;
    }

    public String getIsShowTab() {
        return isShowTab;
    }

    public void setIsShowTab(String isShowTab) {
        this.isShowTab = isShowTab;
    }

    public String getIsJoinClass() {
        return isJoinClass;
    }

    public void setIsJoinClass(String isJoinClass) {
        this.isJoinClass = isJoinClass;
    }

    public Object getJoinedClassPracticeList() {
        return joinedClassPracticeList;
    }

    public void setJoinedClassPracticeList(Object joinedClassPracticeList) {
        this.joinedClassPracticeList = joinedClassPracticeList;
    }

    public Object getEbookDownloadUrl() {
        return ebookDownloadUrl;
    }

    public void setEbookDownloadUrl(Object ebookDownloadUrl) {
        this.ebookDownloadUrl = ebookDownloadUrl;
    }

    public static class TripleLevelKnowledgeListDTO {
        /**
         * knowledgeId : 21c2556c1281446fb69c008fcfc066a6
         * knowledgeName : 1.1 探索勾股定理
         * knowledgeShowOrder : 21
         * videoInfoList : null
         * doubleLevelKnowledgeList : [{"knowledgeId":"7528a59b8aee44e087e90f1edffa5658","knowledgeName":"第1课时 勾股定理","knowledgeShowOrder":22,"syncClass":[{"id":"1cf82d9a20b443ceaef50fd49d982ae5","name":"勾股定理及其验证","type":"1"},{"id":"82cc69c53f874017a29c692633933f89","name":"勾股定理","type":"2"}],"goodClass":[{"id":"950727838fe9455f8adc5622a1a323b7","name":"勾股定理的验证","type":"2"}]}]
         */

        @SerializedName("knowledgeId")
        private String knowledgeId;
        @SerializedName("knowledgeName")
        private String knowledgeName;
        @SerializedName("knowledgeShowOrder")
        private Integer knowledgeShowOrder;
        @SerializedName("videoInfoList")
        private Object videoInfoList;
        @SerializedName("doubleLevelKnowledgeList")
        private List<DoubleLevelKnowledgeListDTO> doubleLevelKnowledgeList;

        public String getKnowledgeId() {
            return knowledgeId;
        }

        public void setKnowledgeId(String knowledgeId) {
            this.knowledgeId = knowledgeId;
        }

        public String getKnowledgeName() {
            return knowledgeName;
        }

        public void setKnowledgeName(String knowledgeName) {
            this.knowledgeName = knowledgeName;
        }

        public Integer getKnowledgeShowOrder() {
            return knowledgeShowOrder;
        }

        public void setKnowledgeShowOrder(Integer knowledgeShowOrder) {
            this.knowledgeShowOrder = knowledgeShowOrder;
        }

        public Object getVideoInfoList() {
            return videoInfoList;
        }

        public void setVideoInfoList(Object videoInfoList) {
            this.videoInfoList = videoInfoList;
        }

        public List<DoubleLevelKnowledgeListDTO> getDoubleLevelKnowledgeList() {
            return doubleLevelKnowledgeList;
        }

        public void setDoubleLevelKnowledgeList(List<DoubleLevelKnowledgeListDTO> doubleLevelKnowledgeList) {
            this.doubleLevelKnowledgeList = doubleLevelKnowledgeList;
        }

        public static class DoubleLevelKnowledgeListDTO {
            /**
             * knowledgeId : 7528a59b8aee44e087e90f1edffa5658
             * knowledgeName : 第1课时 勾股定理
             * knowledgeShowOrder : 22
             * syncClass : [{"id":"1cf82d9a20b443ceaef50fd49d982ae5","name":"勾股定理及其验证","type":"1"},{"id":"82cc69c53f874017a29c692633933f89","name":"勾股定理","type":"2"}]
             * goodClass : [{"id":"950727838fe9455f8adc5622a1a323b7","name":"勾股定理的验证","type":"2"}]
             */

            @SerializedName("knowledgeId")
            private String knowledgeId;
            @SerializedName("knowledgeName")
            private String knowledgeName;
            @SerializedName("knowledgeShowOrder")
            private Integer knowledgeShowOrder;
            @SerializedName("syncClass")
            private List<SyncClassDTO> syncClass;
            @SerializedName("goodClass")
            private List<GoodClassDTO> goodClass;

            public String getKnowledgeId() {
                return knowledgeId;
            }

            public void setKnowledgeId(String knowledgeId) {
                this.knowledgeId = knowledgeId;
            }

            public String getKnowledgeName() {
                return knowledgeName;
            }

            public void setKnowledgeName(String knowledgeName) {
                this.knowledgeName = knowledgeName;
            }

            public Integer getKnowledgeShowOrder() {
                return knowledgeShowOrder;
            }

            public void setKnowledgeShowOrder(Integer knowledgeShowOrder) {
                this.knowledgeShowOrder = knowledgeShowOrder;
            }

            public List<SyncClassDTO> getSyncClass() {
                return syncClass;
            }

            public void setSyncClass(List<SyncClassDTO> syncClass) {
                this.syncClass = syncClass;
            }

            public List<GoodClassDTO> getGoodClass() {
                return goodClass;
            }

            public void setGoodClass(List<GoodClassDTO> goodClass) {
                this.goodClass = goodClass;
            }

            public static class SyncClassDTO {
                /**
                 * id : 1cf82d9a20b443ceaef50fd49d982ae5
                 * name : 勾股定理及其验证
                 * type : 1
                 */

                @SerializedName("id")
                private String id;
                @SerializedName("name")
                private String name;
                @SerializedName("type")
                private String type;

                public String getId() {
                    return id;
                }

                public void setId(String id) {
                    this.id = id;
                }

                public String getName() {
                    return name;
                }

                public void setName(String name) {
                    this.name = name;
                }

                public String getType() {
                    return type;
                }

                public void setType(String type) {
                    this.type = type;
                }
            }

            public static class GoodClassDTO {
                /**
                 * id : 950727838fe9455f8adc5622a1a323b7
                 * name : 勾股定理的验证
                 * type : 2
                 */

                @SerializedName("id")
                private String id;
                @SerializedName("name")
                private String name;
                @SerializedName("type")
                private String type;

                public String getId() {
                    return id;
                }

                public void setId(String id) {
                    this.id = id;
                }

                public String getName() {
                    return name;
                }

                public void setName(String name) {
                    this.name = name;
                }

                public String getType() {
                    return type;
                }

                public void setType(String type) {
                    this.type = type;
                }
            }
        }
    }
}
